package com.atguigu.lease.web.admin.service;

import com.atguigu.lease.model.entity.ApartmentInfo;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentDetailVo;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentItemVo;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentQueryVo;
import com.atguigu.lease.web.admin.vo.apartment.ApartmentSubmitVo;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

/**
* @author liubo
* @description 针对表【apartment_info(公寓信息表)】的数据库操作Service
* @createDate 2023-07-24 15:48:00
*/
public interface ApartmentInfoService extends IService<ApartmentInfo> {

    void customSaveOrUpdate(ApartmentSubmitVo apartmentSubmitVo);

    IPage<ApartmentItemVo> customPage(ApartmentQueryVo queryVo, IPage<ApartmentItemVo> page);

    ApartmentDetailVo customGetById(Long id);

    /**
     *如果一个业务方法有多个结果可能
     * 1.void 只能成功
     * 2.boolean 两种可能成功和失败
     * 3.int / Result 多种可能
     * 4.void 业务方法 +自定义异常+ 抛异常 + 全局异常快速处理 推荐
     * @param id
     */
    void CustomRemoveById(Long id);
}
